home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.win32;
-
- import com.extensibility.app.Desktop;
- import com.extensibility.app.DialogFactory;
- import com.extensibility.app.UI;
- import java.awt.Component;
- import java.awt.Rectangle;
- import java.io.File;
-
- public class Win32CommDialogs extends DialogFactory {
- protected static boolean noLibrary = false;
-
- public static boolean libraryFound() {
- return !noLibrary;
- }
-
- public native String getOpenFileName(String var1, String var2, String var3, String var4, String[] var5);
-
- public native String getSaveFileName(String var1, String var2, String var3, String var4, String[] var5);
-
- public native void getWorkSpace(Rectangle var1);
-
- public native String getFolder(String var1, String var2, String var3);
-
- public File doAskFolder(Component var1, String var2, File var3) {
- DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
- String var4 = var3 != null ? var3.getAbsolutePath() : null;
- String var5 = Desktop.getDialogParent(var1).getTitle();
- String var6 = this.getFolder(var5, var2, var4);
- File var7 = null;
- if (var6 != null && var6.length() > 0) {
- var7 = new File(var6);
- }
-
- return var7;
- }
-
- public File doAskFile(Component var1, String var2, String[] var3, String var4) {
- DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
- if (var2 == null) {
- var2 = var3 != null && var3.length != 0 ? UI.getString("dialog.open.title", UI.getFileTypeName(var3[0])) : "";
- }
-
- String[] var5 = convertAllowedTypes(var3, true);
- String var6 = this.getOpenFileName(Desktop.getDialogParent(var1).getTitle(), var2, var4 == null ? DialogFactory.fileDirectory : var4, "", var5);
- if (var6 != null && var6.length() != 0) {
- DialogFactory.setFileDirectory((new File(var6)).getParent());
- return new File(var6);
- } else {
- return null;
- }
- }
-
- public File doAskNewFile(Component var1, String[] var2, String var3, String var4) {
- DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
- if (var3 == null) {
- var3 = var2 != null && var2.length != 0 ? UI.getString("dialog.open.title", UI.getFileTypeName(var2[0])) : "";
- }
-
- String[] var5 = convertAllowedTypes(var2, false);
- String var6 = this.getSaveFileName(Desktop.getDialogParent(var1).getTitle(), var3, var4 == null ? DialogFactory.fileDirectory : var4, "", var5);
- if (var6 != null && var6.length() != 0) {
- File var7 = new File(var6);
- DialogFactory.setFileDirectory(var7.getParent());
- if (var7.exists()) {
- var7.delete();
- }
-
- return var7;
- } else {
- return null;
- }
- }
-
- public File doAskNewFile(Component var1, String var2, String var3, String var4) {
- DialogFactory.createOpenDialog(Desktop.getDialogParent((Component)null));
- if (var3 == null) {
- var3 = UI.getString("dialog.open.title", UI.getFileTypeName(var2));
- }
-
- String var6 = UI.getString("dialog.file.type", UI.getFileTypeName(var2), var2);
- String var7 = this.getSaveFileName(Desktop.getDialogParent(var1).getTitle(), var3, var4 == null ? DialogFactory.fileDirectory : var4, "", new String[]{var6, String.valueOf("*.").concat(String.valueOf(var2))});
- if (var7 != null && var7.length() != 0) {
- File var5 = new File(var7);
- DialogFactory.setFileDirectory(var5.getParent());
- if (var5.exists()) {
- var5.delete();
- }
-
- return var5;
- } else {
- return null;
- }
- }
-
- protected static String[] convertAllowedTypes(String[] var0, boolean var1) {
- if (var0 == null) {
- var0 = new String[0];
- }
-
- int var2 = var0.length > 1 && var1 ? 2 : 0;
- String[] var3 = new String[var0.length * 2 + 2 + var2];
- StringBuffer var4 = new StringBuffer();
- StringBuffer var5 = new StringBuffer();
-
- int var6;
- for(var6 = 0; var6 < var0.length; ++var6) {
- var3[var6 * 2 + var2] = UI.getString("dialog.file.type", UI.getFileTypeName(var0[var6]), var0[var6]);
- var3[var6 * 2 + 1 + var2] = String.valueOf("*.").concat(String.valueOf(var0[var6]));
- var4.append(String.valueOf(String.valueOf("*.").concat(String.valueOf(var0[var6]))).concat(String.valueOf(';')));
- if (var6 < 2) {
- var5.append(var0[var6]);
- }
- }
-
- var3[var6 * 2 + var2] = UI.getString("dialog.file.type", UI.getFileTypeName("*"), "*");
- var3[var6 * 2 + 1 + var2] = "*.*";
- if (var2 > 0) {
- var3[0] = UI.getFileTypeName(var5.toString());
- var3[1] = var4.toString().substring(0, var4.length() - 1);
- }
-
- return var3;
- }
-
- static {
- try {
- System.loadLibrary("Win32CommonDialogs");
- } catch (Throwable var1) {
- noLibrary = true;
- }
-
- }
- }
-